Wednesday, April 23, 2025

Saturday, April 19, 2025

Thursday, April 17, 2025

Where hr_abs_att_times_at_entry

 FH5AHF40

FH5AHF75
LEHA22PBSF01
LHRTIM00BAPIABSATTF01
LHRTIM00_BLPATTABSADAPTERU01
LPTACF01
LRHEIU33
MP042440
MP057340
MP057341
MP2NNN40
MPPERS01
PCCVRVE0
PCMSTNZ1
RPCABS99_CALC_1DAY_ABSENCE_WIT
RPCLLDQ0_PBS
RPCUEMJ1

Saturday, April 12, 2025

validation of screen's fields

 if u want to do some validation in PBO use.

At selection-screen output event

if u want to do some validation in PAI use.

At selection screen-event.



CHAIN and ENDCHAIN in Module Pool in ABAP: In ABAP module pool programming, CHAIN and ENDCHAIN are used to group multiple input fields for validation or modification together in screen processing logic. This ensures that the specified fields are processed as a unit, which is helpful for scenarios where changes in one field impact others or when validating multiple fields together. Key Points 1. CHAIN: - Groups multiple screen fields. - Executes the specified module for all fields in the chain. 2. ENDCHAIN: - Marks the end of the CHAIN block. 3. Where Used: - Field Validation: Validate several fields simultaneously. - Error Handling: Highlight errors for all grouped fields at once. Syntax : CHAIN.  FIELD <field1>.  FIELD <field2>.  MODULE <module_name>. ENDCHAIN. 1. FIELD: Lists the fields to be grouped. 2. MODULE: Specifies the module to handle these fields (e.g., for validation or updates). Simple Example :- Scenario: Validating Two Fields (MATNR and WERKS) Screen Fields: - MATNR (Material Number) - WERKS (Plant) Requirement: - Validate that both fields are not empty. - Show an error if either field is blank. CHAIN.  FIELD matnr.  FIELD werks.  MODULE validate_fields. ENDCHAIN. MODULE validate_fields INPUT.  IF matnr IS INITIAL.   MESSAGE 'Material number is required' TYPE 'E' DISPLAY LIKE 'I'.  ENDIF.     IF werks IS INITIAL.   MESSAGE 'Plant is required' TYPE 'E' DISPLAY LIKE 'I'.  ENDIF. ENDMODULE. How It Works 1. When the user presses Enter or triggers an event (e.g., a button click): - The system checks the fields listed in the CHAIN block. - If either MATNR or WERKS is modified, the validate_fields module runs. 2. If any validation fails (e.g., MATNR is blank), the system: - Displays the error message. - Keeps the cursor on the problematic field. Think of CHAIN as a rule applied to a group of input boxes on screen. Instead of validating each box one by one, you define a rule for the whole group, making the logic cleaner and more efficient.

good interactive template

 REPORT ZSAPN_INTERACTIVE_REPORT LINE-COUNT 33(3) NO STANDARD PAGE HEADING. "leave some pages for footer and hide standard heading

DATA : IT_MARA TYPE TABLE OF MARA, "mara internal table
       WA_MARA TYPE MARA, "mara work area
       IT_MARC TYPE TABLE OF MARC, "marc internal table
       WA_MARC TYPE MARC. "marc work area
AT SELECTION-SCREEN. "at selection screen event to validate inputs
  PERFORM VALIDATE_INPUT. "Subroutine to validate input

START-OF-SELECTION.
  PERFORM GET_MATERIAL_DATA.
  PERFORM DISPLAY_MATERIALS.

TOP-OF-PAGE.
  PERFORM DISPLAY_HEADER.

END-OF-PAGE.
  PERFORM DISPLAY_FOOTER.

AT LINE-SELECTION.
  PERFORM GET_PLANT_DATA.
  PERFORM DISPLAY_PLANT_DATA.

TOP-OF-PAGE DURING LINE-SELECTION.
  PERFORM DISPLAY_LIST_HEADER.
FORM VALIDATE_INPUT .
  IF P_MTART IS INITIAL.
    MESSAGE 'Please enter input' TYPE 'E'.
  ENDIF.
ENDFORM.                    " VALIDATE_INPUT

FORM GET_MATERIAL_DATA .
  SELECT * FROM MARA
    INTO TABLE IT_MARA
    UP TO 50 ROWS
    WHERE MTART = P_MTART .
ENDFORM.                    " GET_MATERIAL_DATA
FORM DISPLAY_MATERIALS .
  LOOP AT IT_MARA INTO WA_MARA.
    WRITE:/ WA_MARA-MATNR, WA_MARA-MTART, WA_MARA-MATKL, WA_MARA-MBRSH.
    HIDE WA_MARA. "store line details in HIDE area
  ENDLOOP.
ENDFORM.                    " DISPLAY_MATERIALS
FORM DISPLAY_HEADER .
WRITE : 'Material Basic Details' COLOR 5.
ENDFORM.                    " DISPLAY_HEADER

FORM DISPLAY_FOOTER .
  WRITE: 'Report Generated at:', SY-DATUM COLOR 1.
ENDFORM.                    " DISPLAY_FOOTER
FORM GET_PLANT_DATA .
  SELECT * FROM MARC
    INTO TABLE IT_MARC
    WHERE MATNR = WA_MARA-MATNR.
ENDFORM.                    " GET_PLANT_DATA
FORM DISPLAY_PLANT_DATA .
  LOOP AT IT_MARC INTO WA_MARC.
WRITE :/ WA_MARC-MATNR, WA_MARC-WERKS.
  ENDLOOP.
ENDFORM.                    " DISPLAY_PLANT_DATA

FORM DISPLAY_LIST_HEADER .
  WRITE: 'List of Plants for material:', WA_MARA-MATNR COLOR 6.
ENDFORM.                    " DISPLAY_LIST_HEADER

check valid date

 https://sapcodes.com/2016/11/30/fm-to-check-sap-internal-format-date-is-valid-or-invalid/

FROM SAPCODES : REPORT WITH TOP-OF -PAGE & END-OF-PAGE EVENTS*

 


REPORT  ZREP_001  no standard page heading line-count 20(2).

data : it_flight type table of sflight,

       wa_flight type sflight.

select-options : s_carrid for wa_flight-carrid.

*select-options : s_carrid for wa_flight-carrid no-extension.

* select-options : s_carrid for wa_flight-carrid no intervals.

initialization.

s_carrid-low = ‘AA’.

s_carrid-high = ‘ZZ’.

append s_carrid.

start-of-selection.

select * from sflight into table it_flight where carrid in s_carrid.

end-of-selection.

loop at it_flight into wa_flight.

write : /1 wa_flight-carrid,

          10 wa_flight-connid,

          30  wa_flight-fldate,

          50 wa_flight-price left-justified.

endloop.

top-of-page.

write : ‘Carrid’, 10 ‘connid’, 30 ‘flight date’ , 50 ‘ticket price’..

uline.

end-of-page.

write : ‘jet airline flight details for the month december’.

Dbf не чіпаємо, маніпуляції тільки з itab

 1. Dbf tab містить ВСІ 67-68 полів,  Ztab - тільки ті 25-45 полів що використовуються в продовженні ресурсів, їх і копіюємо Dbf не редагува...