*&---------------------------------------------------------------------* *& Form F450_CREATION_TERRAIN *&---------------------------------------------------------------------* FORM F450_CREATION_TERRAIN .
DATA : LV_EXTENSION(960) TYPE C. CLEAR: WS_MESURES_WA,T_RESULT_MESURES[].
DEFINE ADD_CREATE_MEASUREMENT. * SORT T_RESULT_MESURES. LOOP AT T_RESULT_MESURES INTO WS_MESURES_WA WHERE NO_MES = &1. MOVE &1 TO S_CREATE_MEASUREMENT-MEASUREMENT. IF WS_MESURES_WA-VALEUR IS INITIAL. MOVE WS_MESURES_WA-PRIX TO S_CREATE_MEASUREMENT-VALUE_AVAIL. ELSE. MOVE WS_MESURES_WA-VALEUR TO S_CREATE_MEASUREMENT-VALUE_AVAIL. ENDIF. MOVE WS_MESURES_WA-DATE_DEBUT TO S_CREATE_MEASUREMENT-VALID_FROM. IF WS_MESURES_WA-DATE_DEBUT > WS_MESURES_WA-DATE_FIN . MOVE '' TO S_CREATE_MEASUREMENT-VALID_TO. ELSE. MOVE WS_MESURES_WA-DATE_FIN TO S_CREATE_MEASUREMENT-VALID_TO. ENDIF. APPEND S_CREATE_MEASUREMENT TO T_CREATE_MEASUREMENT. ENDLOOP. END-OF-DEFINITION.
CLEAR : GV_COMP_CODE, GV_BUSINESS_ENTITY, GV_PROPERTY_NUMBER, S_CREATE_PROPERTY, S_CI_DATA, S_CREATE_OBJECT_ADDRESS, S_CREATE_COSETTLE_PARAM, T_RETURN[], T_MESSAGES[], T_CREATE_TERM_ORG[], T_CREATE_MEASUREMENT[], T_CREATE_COSETTLE_RULE[], T_CREATE_EXTENSION[].
* Société MOVE P_BUKRS TO GV_COMP_CODE. * Unité économique MOVE P_SWENR TO GV_BUSINESS_ENTITY. * Num. Terrain MOVE T_RESULT-DATA-NUM_TERRAIN TO GV_PROPERTY_NUMBER. * Désignation du terrain MOVE T_RESULT-DATA-DESIGN_NRO TO S_CREATE_PROPERTY-PROPERTY_TEXT. * Date de début de validité MOVE T_RESULT-DATA-DATE_DEBUT_VALIDITE TO S_CREATE_PROPERTY-OBJECT_VALID_FROM. * Rue MOVE T_RESULT-DATA-NOM_RUE TO S_CREATE_OBJECT_ADDRESS-STREET_LNG. * N° de rue MOVE T_RESULT-DATA-NUM_RUE TO S_CREATE_OBJECT_ADDRESS-HOUSE_NO. * Code postal de la localité MOVE T_RESULT-DATA-CODE_POSTAL TO S_CREATE_OBJECT_ADDRESS-POSTL_COD1. * Ville MOVE T_RESULT-DATA-VILLE TO S_CREATE_OBJECT_ADDRESS-CITY. * Clé de pays MOVE 'FR' TO S_CREATE_OBJECT_ADDRESS-COUNTRY. * Région MOVE T_RESULT-DATA-CODE_POSTAL(2) TO S_CREATE_OBJECT_ADDRESS-REGION. * Type de terrain MOVE T_RESULT-DATA-TYPE_TERRAIN TO S_CREATE_PROPERTY-PROPERTY_TYPE. * Nature lieu MOVE T_RESULT-DATA-NAT_LIEU TO S_CI_DATA-ZZNATUR_L. * Clé de commune MOVE T_RESULT-DATA-INSEE TO S_CREATE_PROPERTY-MUNICIPALITY_KEY.
*/création mesurage pour NRO IF NOT T_RESULT-DATA-NB_HSP IS INITIAL. MOVE 'ZXXX' TO S_CREATE_MEASUREMENT-MEASUREMENT. MOVE T_RESULT-DATA-NB_HSP TO S_CREATE_MEASUREMENT-VALUE_AVAIL. MOVE T_RESULT-DATA-DATE_DEBUT_VALIDITE TO S_CREATE_MEASUREMENT-VALID_FROM. APPEND S_CREATE_MEASUREMENT TO T_CREATE_MEASUREMENT. ENDIF. * Domaine d'activité MOVE C_DA_RES TO S_CREATE_TERM_ORG-BUS_AREA. * Centre de profit MOVE c_cprofit TO S_CREATE_TERM_ORG-PROFIT_CTR. * Domaine fonctionnel MOVE c_dfonc TO S_CREATE_TERM_ORG-FUNC_AREA. APPEND S_CREATE_TERM_ORG TO T_CREATE_TERM_ORG. * Catégorie récepteur MOVE 'KS' TO S_CREATE_COSETTLE_RULE-SETTL_RECV_OBJ_TYPE. * Récepteurs d'imputation (Centre de coût) CONCATENATE P_BUKRS '123456' INTO S_CREATE_COSETTLE_RULE-SETTL_RECV_OBJ_ID SEPARATED BY '/'.
IF NOT S_CREATE_COSETTLE_RULE-SETTL_RECV_OBJ_ID IS INITIAL. * Pourcentage MOVE '100' TO S_CREATE_COSETTLE_RULE-PERCENTAGE. * Type d'imputation MOVE 'FUL' TO S_CREATE_COSETTLE_RULE-SETTL_TYPE. * Catégorie d'imputation (Centre de coût) APPEND S_CREATE_COSETTLE_RULE TO T_CREATE_COSETTLE_RULE. ENDIF. * Schéma d'imputation MOVE 'Z5' TO s_create_cosettle_param-strategy_sequence. * Profil d'imputation MOVE 'ZRE01' TO S_CREATE_COSETTLE_PARAM-SETTLEMENT_PROFILE.
S_CREATE_EXTENSION-STRUCTURE = 'CI_DATA'.
CALL METHOD CL_ABAP_CONTAINER_UTILITIES=>FILL_CONTAINER_C EXPORTING IM_VALUE = S_CI_DATA IMPORTING EX_CONTAINER = LV_EXTENSION EXCEPTIONS OTHERS = 0.
MOVE LV_EXTENSION(240) TO S_CREATE_EXTENSION-VALUEPART1. MOVE LV_EXTENSION+240(240) TO S_CREATE_EXTENSION-VALUEPART2. MOVE LV_EXTENSION+480(240) TO S_CREATE_EXTENSION-VALUEPART3. MOVE LV_EXTENSION+720(240) TO S_CREATE_EXTENSION-VALUEPART4. APPEND S_CREATE_EXTENSION TO T_CREATE_EXTENSION.
CALL FUNCTION 'BAPI_RE_PR_CREATE' EXPORTING COMP_CODE_EXT = GV_COMP_CODE BUSINESS_ENTITY_NUMBER_EXT = GV_BUSINESS_ENTITY PROPERTY_NUMBER_EXT = GV_PROPERTY_NUMBER PROPERTY = S_CREATE_PROPERTY OBJECT_ADDRESS = S_CREATE_OBJECT_ADDRESS COSETTLE_PARAM = S_CREATE_COSETTLE_PARAM TRANS = C_TRANS TABLES TERM_ORG_ASSIGNMENT = T_CREATE_TERM_ORG MEASUREMENT = T_CREATE_MEASUREMENT COSETTLE_RULE = T_CREATE_COSETTLE_RULE EXTENSION_IN = T_CREATE_EXTENSION RETURN = T_RETURN .
ENDFORM. " F450_CREATION_TERRAIN
|