SAP ABAP OData code for Function Import

 SAP ABAP OData code for Function Import





Source Code

  method /IWBEP/IF_MGW_APPL_SRV_RUNTIME~EXECUTE_ACTION.

 data gs_parameter like LINE OF it_parameter,
        gt_so type STANDARD TABLE OF zovbak,
        gs_status type ZCL_ZKODATA1_MPC_EXT=>ts_sostatus.

 data lv_kunnr type kunnr,
        lv_vbeln type vbeln,
        lv_status(3).



 case iv_action_name.

 when 'GETSO'.

 clear gs_parameter.
 read TABLE it_parameter into gs_parameter with key name 'KUNNR'.
 if gs_parameter-value is NOT INITIAL.

    lv_kunnr gs_parameter-value.

 CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
   EXPORTING
     input         lv_kunnr
  IMPORTING
    OUTPUT        lv_kunnr.

 select from zovbak into CORRESPONDING FIELDS OF TABLE gt_so WHERE kunnr lv_kunnr.


  copy_data_to_ref(
    EXPORTING
      is_data gt_so
    CHANGING
      cr_data er_data
  ).



 endif.

 WHEN 'GETUNRELEASE'.

 select from zovbak into CORRESPONDING FIELDS OF TABLE gt_so WHERE STATUS ''.


  copy_data_to_ref(
    EXPORTING
      is_data gt_so
    CHANGING
      cr_data er_data
  ).

 WHEN 'UPDATE_STATUS'.

  clear gs_parameter.
 read TABLE it_parameter into gs_parameter with key name 'VBELN'.
 if gs_parameter-value is NOT INITIAL.

    lv_vbeln gs_parameter-value.

 CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
   EXPORTING
     input         lv_vbeln
  IMPORTING
    OUTPUT        lv_vbeln.

 endif.

  clear gs_parameter.
 read TABLE it_parameter into gs_parameter with key name 'STATUS'.
 if gs_parameter-value is NOT INITIAL.
     lv_status gs_parameter-value.
 endif.

   if lv_vbeln is NOT INITIAL and lv_status is NOT INITIAL.

       update zovbak set status lv_status
                     WHERE vbeln lv_vbeln.

       if sy-subrc 0.

       gs_status-vbeln lv_vbeln.
       gs_status-type  'S'.
       gs_status-message 'Sales order status updated successfully'.


       else.

        gs_status-vbeln lv_vbeln.
       gs_status-type  'E'.
       gs_status-message 'Error while updating the status'.

       endif.

   else.

     gs_status-message 'Pass the required parameters'.

  endif.

  copy_data_to_ref(
    EXPORTING
      is_data gs_status
    CHANGING
      cr_data er_data
  ).



 endcase.

  endmethod.


Post a Comment

0 Comments

Total Pageviews