Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

CL_GOS_API - create attachment(PDF)

rangerlet_mesee
Participant
0 Kudos
1,190

Hi

I need an example code to attach a PDF file to an FI document using INSERT_AL_ITEM method of CL_GOS_API class.

Thanks

1 ACCEPTED SOLUTION

OlegBash
Active Participant
0 Kudos
1,042
    DATA lo_gos_api TYPE REF TO cl_gos_api.

    DATA ls_bus_obj_keyref TYPE sibflporb.
    DATA lt_gos_roles TYPE gos_t_rol.
    DATA lt_GOS_T_ATTA TYPE gos_t_atta.

    DATA ls_gos_atta_content TYPE gos_s_attcont.
    DATA ls_GOS_S_ATTKEY TYPE gos_s_attkey.

    DATA ls_gos_item TYPE gos_s_attcont.
    DATA lv_gos_commit_flag TYPE flag.

    DATA lx_gos_api TYPE REF TO cx_gos_api.

    ls_bus_obj_keyref-instid = YOUR_obj_key.
    ls_bus_obj_keyref-typeid = YOUR_obj_type_as_in_tcode_SWO1.
    ls_bus_obj_keyref-catid  = 'BO'.


    TRY .
        lo_gos_api =
        cl_gos_api=>create_instance(
          EXPORTING
            is_object   = ls_bus_obj_keyref
*        iv_handle   =
        ).


        ls_gos_item-atta_cat = cl_gos_api=>c_msg.
        ls_gos_item-content_x = YOUR_file_binary_content.
        ls_gos_item-filesize = YOUR_file_size.
        ls_gos_item-filename = YOUR_file_name.
        ls_gos_item-tech_type = YOUR_file_extension.
        ls_gos_item-descr = YOUR_file_name.
ls_gos_item-lang = sy-langu. lv_gos_commit_flag = lo_gos_api->insert_al_item( EXPORTING is_attcont = ls_gos_item iv_roltype = cl_gos_api=>c_attachment ). IF lv_gos_commit_flag EQ abap_true. COMMIT WORK. ENDIF. CATCH cx_gos_api INTO lx_gos_api. DATA(lv_text) = lx_gos_api->get_text( ). BREAK-POINT. ENDTRY.
1 REPLY 1

OlegBash
Active Participant
0 Kudos
1,043
    DATA lo_gos_api TYPE REF TO cl_gos_api.

    DATA ls_bus_obj_keyref TYPE sibflporb.
    DATA lt_gos_roles TYPE gos_t_rol.
    DATA lt_GOS_T_ATTA TYPE gos_t_atta.

    DATA ls_gos_atta_content TYPE gos_s_attcont.
    DATA ls_GOS_S_ATTKEY TYPE gos_s_attkey.

    DATA ls_gos_item TYPE gos_s_attcont.
    DATA lv_gos_commit_flag TYPE flag.

    DATA lx_gos_api TYPE REF TO cx_gos_api.

    ls_bus_obj_keyref-instid = YOUR_obj_key.
    ls_bus_obj_keyref-typeid = YOUR_obj_type_as_in_tcode_SWO1.
    ls_bus_obj_keyref-catid  = 'BO'.


    TRY .
        lo_gos_api =
        cl_gos_api=>create_instance(
          EXPORTING
            is_object   = ls_bus_obj_keyref
*        iv_handle   =
        ).


        ls_gos_item-atta_cat = cl_gos_api=>c_msg.
        ls_gos_item-content_x = YOUR_file_binary_content.
        ls_gos_item-filesize = YOUR_file_size.
        ls_gos_item-filename = YOUR_file_name.
        ls_gos_item-tech_type = YOUR_file_extension.
        ls_gos_item-descr = YOUR_file_name.
ls_gos_item-lang = sy-langu. lv_gos_commit_flag = lo_gos_api->insert_al_item( EXPORTING is_attcont = ls_gos_item iv_roltype = cl_gos_api=>c_attachment ). IF lv_gos_commit_flag EQ abap_true. COMMIT WORK. ENDIF. CATCH cx_gos_api INTO lx_gos_api. DATA(lv_text) = lx_gos_api->get_text( ). BREAK-POINT. ENDTRY.