Monday, 18 January 2021

SAP ABAP - Add Custom Screen in PM - Maintenace Plan Item ( IP01,IP02,IP03 )

Create CMOD Project :





Enhancement Assignments





Go to SE11 and add custom field in MPOS structure



Add custom field in CI_MPOS include


Double click CI_MPOS




Activate Structure


Back to CMOD project, double click on screen exit 0100 to generate sub screen exit



press enter


Screen layout



Save screen and activate.




double click function exit : EXIT_SAPLIWP3_001.



Double click INCLUDE ZXPRMU01.



Press enter and yes



add source code and activate:



Double click in Function Exit EXIT_SAPLIWP3_002






save & activate.

Activate cmod project



Test Custom Screen, run tcode IP01






save.


Display maintenance Plan (IP03)



Done.

SAP ABAP - Download CDS View


*&---------------------------------------------------------------------*

*& Report Z_DOWNLOAD_CDS
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT z_download_cds.

TYPESBEGIN OF ty_ddddlsrc,
         ddlname TYPE ddddlsrc-ddlname,
         source  TYPE ddddlsrc-source,
       END OF ty_ddddlsrc,

       BEGIN OF ty_dd,
         source TYPE ddddlsrc-source,
       END OF ty_dd.

DATAit_ddddlsrc TYPE STANDARD TABLE OF ty_ddddlsrc,
      it_dd       TYPE STANDARD TABLE OF ty_dd,
      wa          TYPE ty_ddddlsrc,
      wa_dd       TYPE ty_dd.


DATAgv_filename TYPE string,
      gv_filetype TYPE char10.
*&---------------------------------------------------------------------*
""""Selection Screen
*&---------------------------------------------------------------------*

PARAMETERS :
  p_dev    TYPE tadir-devclass,
  filepath LIKE rlgrap-filename MEMORY ID mfolder.

DATA src TYPE ddddlsrc,
       dir TYPE tadir.


AT SELECTION-SCREEN ON VALUE-REQUEST FOR filepath.
  DATAobjFile TYPE REF TO cl_gui_frontend_services.
  DATApickedFolder TYPE string.
  DATAinitialFolder TYPE string.

  IF sy-batch IS INITIAL.
    CREATE OBJECT objFile.

    IF NOT filepath IS INITIAL.
      initialFolder filepath.
    ELSE.
      objFile->get_temp_directoryCHANGING temp_dir initialFolder
                                   EXCEPTIONS cntl_error 1
                                             error_no_gui 2
                                             not_supported_by_gui ).
    ENDIF.

    objFile->directory_browseEXPORTING initial_folder initialFolder
                               CHANGING selected_folder pickedFolder
                               EXCEPTIONS cntl_error 1
                                          error_no_gui 2
                                          not_supported_by_gui ).

    IF sy-subrc 0.
      filepath pickedFolder.
    ELSE.
      WRITE'An error has occured picking a folder'.
    ENDIF.
  ENDIF.

*&---------------------------------------------------------------------*
  """"Start of selection
*&---------------------------------------------------------------------*
START-OF-SELECTION.

  SELECT  d~ddlname
          d~source
          FROM tadir AS JOIN  ddddlsrc AS d
          ON   t~obj_name d~ddlname
          INTO TABLE it_ddddlsrc
          WHERE t~pgmid 'R3TR'
          AND   t~object 'DDLS'
          AND   t~devclass p_dev.

  IF sy-subrc 0.
    WRITE ' File downloaded successfully'.
  ENDIF.

*&---------------------------------------------------------------------*
  """"End of selection
*&---------------------------------------------------------------------*
END-OF-SELECTION.

  LOOP AT it_ddddlsrc INTO wa.
    CONCATENATE filepath '\' wa-ddlname '.txt' INTO gv_filename.
    wa_dd-source wa-source.
    APPEND wa_dd TO it_dd.
    CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
        filename              gv_filename
        filetype              'ASC'
        write_field_separator 'X'
      TABLES
        data_tab              it_dd.
    CLEAR gv_filename.
    CLEAR it_dd.
  ENDLOOP.

Wednesday, 16 December 2020

SAP ABAP Move File On Application Server

 REPORT zmove_file.


DATA lv_fname TYPE string,
       lv_line  TYPE string.
DATA lv_fname1 TYPE string.

lv_fname  '/usr/sap/to_be_processed/file01.txt'"Source File
lv_fname1 '/usr/sap/processed/file01.txt'.  "Destination File

OPEN DATASET lv_fname FOR INPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc 0.
  OPEN DATASET lv_fname1 FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
  IF sy-subrc 0.
    DO.
      READ DATASET lv_fname INTO lv_line.
      IF sy-subrc 0.
        TRANSFER lv_line TO lv_fname1.
      ELSE.
        EXIT.
      ENDIF.
    ENDDO.
    WRITE 'Berhasil'.
  ELSE.
    WRITE 'File tidak bisa dibuka'.
  ENDIF.
  CLOSE DATASET lv_fname1.
  CLOSE DATASET lv_fname.
  DELETE DATASET lv_fname.
ENDIF.



ABAP CDS View Part 10 : Authorization & DCL untuk ABAP CDS

Authorization & DCL di ABAP CDS | Panduan Lengkap (PFCG, @AccessControl, DCL) Authorization & DCL untuk ABAP CDS — Pandua...