Felder bearbeiten

Felder zusammen führen (den Inhalt von mehreren Feldern in ein Feld packen)

CONCATENATE  lf_feld gs-name2 INTO lf_text."Zwei Felder in ein Feld zusammenführen

Spezial Fall (letztes Zeichen eines Feldes löschen)

DATAlf_length TYPE i.
DATAlf_length2 TYPE i.
DATAlf_feld LIKE gs-name1.

lf_length 
strlengs-name1 ).            "Länge des Namen z.B. 30 Zeichen
lf_length2 
lf_length 1.                "Länge des Namen - 1 z.B. 29 Zeichen
lf_feld 
gs-name1+lf_length2(1).          "lf_feld enthält das letzte Zeichen des Feldes gs-name1 z.B. "-"

IF lf_feld '-'.                          "Falls lf_feld "-" enthält schreibe text ohne das letzte Zeichen
  lf_feld 
gs-name1(lf_length2).
ELSE.                                      "Falls lf_feld etwas anderes enthält schreibe den text mit dem letzten Zeichen
  lf_feld 
gs-name1.
ENDIF.

CONCATENATE  lf_feld gs-name2 INTO lf_text."Zwei Felder in ein Feld zusammenführen

 

Lösche die letzten fünf Zeichen aus einem Feld

DATAgf_len TYPE i.
DATAgf_pos TYPE i.
DATAgf_feld TYPE c LENGTH 10.

gf_feld 
'REGOTZ_BRAVO'.
"Lesen der letzten 5 Zeichen
gf_len 
strlengf_feld ).

IF gf_len 8.
  gf_pos 
gf_len 5.
ENDIF.
"Wenn die letzten 5 Zeien 'BRAVO' sind, werden diese gelöscht.
IF gf_feld+gf_pos 'BRAVO'.
  
SHIFT gf_feld RIGHT BY PLACES.
ENDIF.

Führende Nullen 

    "Führende Nullen entfernen
    SHIFT mv_pernr LEFT DELETING LEADING '0'.
    "Nur für string
    mv_pernr |{ mv_pernr ALPHA OUT }|.

 

    "Führende Nullen hinzufügen
    mv_pernr |{ mv_pernr WIDTH ALPHA IN }|.

Nullen entfernen Linksbündig 

SHIFT gf_feld RIGHT DELETING TRAILING space.
OVERLAY gf_feld WITH '0000000000'.

Nullen entfernen Linksbündig

SHIFT gf_feld RIGHT DELETING TRAILING space.
TRANSLATE gf_feld USING ' 0'
.

Nullen entfernen Rechtsbündig

S HIFT gs_pss_ver-pernr LEFT DELETING LEADING '0'.
SHIFT gs_pss_ver-pernr RIGHT DELETING TRAILING space.
.

Führende Nullen löschen

SHIFT gf_feld LEFT DELETING LEADING '0'.

Format ändern um Berechnungen zu machen

"Komma durch Punkt ersetzen für die Berechnung.
REPLACE ',' IN export-lobarf1 WITH '.'.
REPLACE ',' IN export-lbetr_21 WITH '.'.
"Zahlenformat verwenden für die Berechnung (nicht C sondern P)
lf_betlo 
export-lobarf1.
lf_betlb 
export-lbetr_21.
"Falls die Lohnart nicht vorhanden ist Subbtrahiere den 13 Monatslohn.
lf_betlo  
lf_betlo lf_bet00.
lf_betlb 
lf_betlb lf_bet00.
"Format der Export Struktur wieder herstellen. (in C umwandeln)
export-lobarf1 lf_betlo.
export-lbetr_21 lf_betlb.
"Punkt durch komma ersetzten für die Ausgabe Struktur
REPLACE '.' IN export-lobarf1 WITH ','.
REPLACE '.' IN export-lbetr_21 WITH ','.

Lesen der letzen Zeichen eines Feldes wenn man auf ein Datei Format prüfen will



*&---------------------------------------------------------------------*
*&      Form  UPLOADEXCEL
*&---------------------------------------------------------------------*
*       Es darf nur eine XLS oder XLSX Datei hochgeladen werden
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM uploadexcel .

  
DATAlf_len TYPE i.
  
DATAlf_pos TYPE i.

  
"Lesen der letzten 3 Zeichen
  lf_len 
strlenpa_file ).
  lf_pos 
lf_len 3.

  
"Wenn die letzten 3 Zeichen 'XLS' sind dann GF_XLS = X
  
IF pa_file+lf_pos 'XLS' OR pa_file+lf_pos 'xls'.
    gf_xls 
'X'.
  
ENDIF.

  
"Lesen der letzten 4 Zeichen
  
CLEARlf_pos.
  lf_pos 
lf_len 4.

  
"Wenn die letzten 4 Zeichen 'XLSX' sind dann GF_XLSX = X
  
IF pa_file+lf_pos 'XLSX' OR pa_file+lf_pos 'xlsx'.
    gf_xlsx 
'X'.
  
ENDIF.

  
IF gf_xls =  'X'.
    
"XLS hochladen
    
PERFORM upload_xls.
  
ELSEIF gf_xlsx 'X'.
    
"XLSX hochladen
    
PERFORM upload_xlsx.
  
ELSE.
    
MESSAGE e001(zpoup).
  
ENDIF.

ENDFORM.                    " UPLOADEXCEL

 

        search this website

Regotz Michel