JOBD Downport structures

This commit is contained in:
Christian Guenter 2017-08-09 20:34:47 +00:00
parent 1ec1c7ef99
commit 0ce7d9c5d8

View File

@ -51,31 +51,51 @@ CLASS lcl_object_jobd IMPLEMENTATION.
METHOD lif_object~serialize. METHOD lif_object~serialize.
DATA: ls_job_definition TYPE cl_jr_job_definition=>ty_job_definition, DATA: lr_job_definition TYPE REF TO data,
lo_job_definition TYPE REF TO object, lo_job_definition TYPE REF TO object,
jd_name TYPE c LENGTH 32. jd_name TYPE c LENGTH 32.
FIELD-SYMBOLS: <ls_job_definition> TYPE any,
<field> TYPE any.
jd_name = ms_item-obj_name. jd_name = ms_item-obj_name.
TRY. TRY.
CREATE DATA lr_job_definition TYPE ('CL_JR_JOB_DEFINITION=>TY_JOB_DEFINITION').
ASSIGN lr_job_definition->* TO <ls_job_definition>.
ASSERT sy-subrc = 0.
CREATE OBJECT lo_job_definition TYPE ('CL_JR_JOB_DEFINITION') CREATE OBJECT lo_job_definition TYPE ('CL_JR_JOB_DEFINITION')
EXPORTING EXPORTING
im_jd_name = jd_name. im_jd_name = jd_name.
CALL METHOD lo_job_definition->('GET_JD_ATTRIBUTES') CALL METHOD lo_job_definition->('GET_JD_ATTRIBUTES')
IMPORTING IMPORTING
ex_jd_attributes = ls_job_definition. ex_jd_attributes = <ls_job_definition>.
CLEAR: ls_job_definition-jdpackage, ASSIGN COMPONENT 'JDPACKAGE' OF STRUCTURE <ls_job_definition> TO <field>.
ls_job_definition-btcjob_user, CLEAR <field>.
ls_job_definition-owner,
ls_job_definition-created_date, ASSIGN COMPONENT 'BTCJOB_USER' OF STRUCTURE <ls_job_definition> TO <field>.
ls_job_definition-created_time, CLEAR <field>.
ls_job_definition-changed_date,
ls_job_definition-changed_time. ASSIGN COMPONENT 'OWNER' OF STRUCTURE <ls_job_definition> TO <field>.
CLEAR <field>.
ASSIGN COMPONENT 'CREATED_DATE' OF STRUCTURE <ls_job_definition> TO <field>.
CLEAR <field>.
ASSIGN COMPONENT 'CREATED_TIME' OF STRUCTURE <ls_job_definition> TO <field>.
CLEAR <field>.
ASSIGN COMPONENT 'CHANGED_DATE' OF STRUCTURE <ls_job_definition> TO <field>.
CLEAR <field>.
ASSIGN COMPONENT 'CHANGED_TIME' OF STRUCTURE <ls_job_definition> TO <field>.
CLEAR <field>.
io_xml->add( iv_name = 'JOBD' io_xml->add( iv_name = 'JOBD'
ig_data = ls_job_definition ). ig_data = <ls_job_definition> ).
CATCH cx_root. CATCH cx_root.
lcx_exception=>raise( |Error serializing JOBD| ). lcx_exception=>raise( |Error serializing JOBD| ).
@ -85,28 +105,38 @@ CLASS lcl_object_jobd IMPLEMENTATION.
METHOD lif_object~deserialize. METHOD lif_object~deserialize.
DATA: ls_job_definition TYPE cl_jr_job_definition=>ty_job_definition, DATA: lr_job_definition TYPE REF TO data,
lo_job_definition TYPE REF TO object, lo_job_definition TYPE REF TO object,
jd_name TYPE c LENGTH 32. jd_name TYPE c LENGTH 32.
FIELD-SYMBOLS: <ls_job_definition> TYPE any,
<field> TYPE any.
jd_name = ms_item-obj_name. jd_name = ms_item-obj_name.
TRY. TRY.
CREATE DATA lr_job_definition TYPE ('CL_JR_JOB_DEFINITION=>TY_JOB_DEFINITION').
ASSIGN lr_job_definition->* TO <ls_job_definition>.
ASSERT sy-subrc = 0.
io_xml->read( io_xml->read(
EXPORTING EXPORTING
iv_name = 'JOBD' iv_name = 'JOBD'
CHANGING CHANGING
cg_data = ls_job_definition ). cg_data = <ls_job_definition> ).
CREATE OBJECT lo_job_definition TYPE ('CL_JR_JOB_DEFINITION') CREATE OBJECT lo_job_definition TYPE ('CL_JR_JOB_DEFINITION')
EXPORTING EXPORTING
im_jd_name = jd_name. im_jd_name = jd_name.
ls_job_definition-jdpackage = iv_package.
ASSIGN COMPONENT 'JDPACKAGE' OF STRUCTURE <ls_job_definition> TO <field>.
<field> = iv_package.
CALL METHOD lo_job_definition->('CREATE_JD') CALL METHOD lo_job_definition->('CREATE_JD')
EXPORTING EXPORTING
im_jd_attributes = ls_job_definition. im_jd_attributes = <ls_job_definition>.
CATCH cx_root. CATCH cx_root.
lcx_exception=>raise( |Error deserializing JOBD| ). lcx_exception=>raise( |Error deserializing JOBD| ).