for /f %%i in ('powershell ^(get-date^).DayOfWeek') do set week=%%i
cd c:\backup
del %week%_*.* /q
FieldName
|
소속
|
설명 |
| ROW_POS | ALV 제어: 출력라인 (INTERNAL USE) | |
| COL_POS | Display | Display되는 Column의 순서 생략시 입력순서대로 표시된다 |
| TABNAME | Control | ALV의 Output Table의 Name을
넣어준다. 그런데 없어도 상관은 없다. 왜? 어차피 1개의 ALV는 1개의 FieldCatalog를 취하니까. |
| FIELDNAME | Control(필수) | ALV의 Output Table의 FieldName을
넣어준다. 여기가 Output Table 과 Catalog가 Match되는 방법이다 |
| F4AVAILABL | 필드에 출력도움말
유무점검
오류 : "No input help is available" 발생시 ref_table / ref_field를 Clear하면 된다. |
|
| REF_TABLE | ABAP Dic(활용) | ABAP Dic으로 부터 모든 데이타를 활용하게
설정할경우 (DOMAIN값을 참조할때도 반드시 설정되어 있어야 한다.) ABAP Dic 참조하기위한 [테이블명]을 넣어준다. |
| REF_FIELD | ABAP Dic(활용) | ABAP Dic으로 부터 모든 데이타를 활용하게
설정할경우 (DOMAIN값을 참조할때도 반드시 설정되어 있어야 한다.) ABAP Dic 참조하기위한 테이블의 [Field명]을 넣어준다. |
| DOMNAME | ABAP Dic(활용) | 윗 4개가 일치하지 않는경우, DOMNAME이 어뚱한 놈을 바라보면 POPUP은 뜨는데 유효성 검사가 어뚱하게 걸리는 현상이 나타난다. |
| CURRENCY | ABAP Dic(참조) | 보여주려는 [숫자]의 소속이
[통화금액]인 경우 [고정통화]를 쓰는 경우 통화단위를 넣어준다. ex) [KRW] |
| CFIELDNAME | ABAP Dic(참조) | 보여주려는 [숫자]의 소속이 [통화금액]인 경우 [통화]를 가지고 있는 [FieldName]을 넣어준다. => [FieldName]이 FieldCatalog의 Member로 등록되어있어야 함. (만약에 없는경우, [Data]수정시 오류가 발생함. ) |
| QUANTITY | ABAP Dic(참조) | 보여주려는 [숫자]의 소속이
[단위수량]인 경우 [고정단위]를 쓰는 경우 수량단위를 넣어준다. ex) [Kg] |
| QFIELDNAME | ABAP Dic(참조) | 보여주려는 [숫자]의 소속이 [단위수량]인 경우 [단위]를 가지고 있는 [FieldName]을 넣어준다. => [FieldName]이 FieldCatalog의 Member로 등록되어있어야 함. (만약에 없는경우, [Data]수정시 오류가 발생함. ) |
| INTTYPE | Control(필수) | ABAP 데이타유형 (C,D,N,...) |
| JUST | Display(추천) | 화면표시 정렬 ( Left , Center , Right ) |
| OUTPUTLEN | Display(추천) | 화면표시 문자의 열 너비 Layout-cwidth_opt = 'X' 설정시 무력화 된다. |
| COLTEXT (40) | Display(필수) | Column Header의 텍스트(오직 1개의 종류만 표시할때) |
| SCRTEXT_L (40) | Display(선택) | Column Header의 텍스트(폭이 넓은경우 표시) |
| SCRTEXT_M (20) | Display(선택) | Column Header의 텍스트(폭이 중간인 경우 표시) |
| SCRTEXT_S (10) | Display(선택) | Column Header의 텍스트(폭이 좁은경우 표시) |
| TOOLTIP(40) | Display(선택) | Column의 말풍선 |
| NO_OUT | Display(Variant설정) | 초기화면 조회시에는 보이지
않도록 Variant설정시에는 Layout설정에 나타난다. |
| TECH | Display(Variant설정) | 화면에서 아예 보이지 않는다. |
| HOTSPOT | Display(선택)/Event연동 | 웹브라우저의 HyperLink처럼 동작하게 한다. Click Event처리 |
| EDIT (가장 중요한 설정항목중 하나임) |
Display(편집) | 해당 Field에 대해서 편집설정을 나타낸다. Layout-edit = 'X' 설정시 무력화 된다.(하위개념임) 그밑에 Cell-Style의 Enable/Disable이 있음 |
| CHECKBOX | Display(편집) | 체크박스로 보여준다. |
| DRDN_HNDL | Display(편집) | Dropdown List Handle/ 정수값을 입력해
주어야 한다 1개의 Field는 1개의 Dropdown List만을 보여줄때 사용 |
| DRDN_FIELD | Display(편집) | Dropdown List Field/ FieldName을
입력해 주어야 한다 1개의 Field는 다수의 Dropdown List를 보여줄수 있다. |
| DRDN_ALIAS | Display(편집) | Dropdown List Handle( X 설정요망
) User에게 코드를 보여주면 가독성이 떨어진다. 따라서 [코드:설명]이렇게 보여주기 원할때 사용한다 |
| CHECKTABLE | Display(편집) | ABAP Dic에 의해 CheckTable이 설정되면
자동으로 F4활성 유효성 검사등이 수행된다. 이때 이값에 "!"을 넣어주면 임의편집을 가능하게할수있다 |
| KEY | Control(선택) | 키필드로 선택(배경색이 자동으로 파랑색, Key역활을
시작함) 1. 필수 입력사항이다. 2. 한번 입력된 내용은 수정될 수 없다. 3. Key Value는 Unique해야 한다. |
| KEY_SEL | Control(선택) | KEY로 설정한후 화면상의 Display하지않음, Variant에도 안나옴 |
| FIX_COLUMN | Control(선택) | Column고정. Hsplit 기능을 사용할 때 사용한다. |
| ROUND | Display(숫자) | 보여주려는 [숫자]의 소수점을 주어진 round
수만큼 좌측이로 이동한다. 결과숫치 = 기존숫자 / (10^(round) ) 의 역활을 한다. 숫치입력시 자동으로 나누기가 시행되므로 사용에 주의할것 Ex) 100.00 [Round = 2] => 1.00 |
| NO_SIGN | Display(숫자) | 보여주려는 [숫자]의 부호를 표시하지 않는다. |
| NO_ZERO | Display(숫자) | 보여주려는 [숫자]가 0인경우 표시하지 않는다 [숫자]의 소속이 [통화금액][단위수량]인경우 자동으로 설정 |
| DECIMALS_O | Display(숫자) | 보여주려는 [숫자]의 소숫점 자리수 설정. Decimals 설정을 같이 늘려주지 않으면 입력오류가 발생됨 |
| DECIMALS | Display(숫자) | 입력되는 [숫자]의 소숫점 자리수 설정. |
| LZERO | Display(숫자) | Data Type : N , ABAP Type :
Numeric 문자형 숫자이므로 앞쪽에 빈공간에 "0"을 채워준다. |
| DO_SUM | Display(숫자)/Sort연동 | set_table_for_first_display
의 Sort설정이 되었을경우 중간합을 보여준다. 'X' 설정시 [총합] 'C' 설정시 [평균]을 보여준다. |
| EXPONENT | ALV 제어: 부동표현에 대한 지수 | |
| ICON | Display(문자) | 아이콘으로 출력할때 |
| SYMBOL | Display(문자) | ALV 제어: 기호로 출력 |
| EDIT_MASK | Display(문자) | 화면 Display시 편집마스크. Ex) "____/__/__" |
| EMPHASIZE | Display(강조) | Column(Field)를 시스템이 지정한 색상으로
강조한다 = 'C600' (개발자가 색상지정), = 'X' (시스템이 색상지정) |
| NO_SUM | ALV 제어: 열값에 관한 집합처리없음 | |
| TECH | ALV 컨트롤: 기술적 필드 | |
| CONVEXIT | 변환루틴( Domain에 Exit가 걸린경우 해당정보를 제공한다 ) | |
| SELTEXT | ALV 제어: 다이얼로그 기능에 대한 열식별자 | |
| NO_CONVEXT | ALV 제어: 화면 Display시 변환종료를 고려하지 마십시오 | |
| ROLLNAME | ALV 제어: F1 도움말의 데이터 요소 Elment의 이름을 넣어주면된다. [Dynamic itab]이 설정기준이 된다. |
|
| DATATYPE | ABAP Dictionary 데이타유형 | |
| INTLEN | 내부길이 (바이트단위) | |
| LOWERCASE | 소문자 사용/금지 | |
| REPTEXT | 헤딩 | |
| HIER_LEVEL | ALV 컨트롤: 내부 사용 | |
| REPREP | ALV 컨트롤: 값은 rep./rep.intf에 대한 선택 기준입니다. | |
| DOMNAME | 도메인이름 | |
| SP_GROUP | 그룹 키 | |
| DFIELDNAME | ALV 제어: 데이터베이스의 열 그룹에 대한 필드 이름 | |
| COL_ID | ALV 제어: 열 ID | |
| AUTO_VALUE | ALV 제어: 자동값복사 | |
| VALEXI | 고정값 존재 | |
| WEB_FIELD | ALV 제어: 내부 테이블 필드의 필드 이름 | |
| HREF_HNDL | 정수 | |
| STYLE | ALV 제어: 스타일 | |
| STYLE2 | ALV 제어: 스타일 | |
| STYLE3 | ALV 제어: 스타일 | |
| STYLE4 | ALV 제어: 스타일 | |
| DRDN_FIELD | ALV 제어: 내부 테이블 필드의 필드 이름 | |
| NO_MERGING | 문자 필드 길이 1 | |
| H_FTYPE | ALV 트리 제어: 기능유형 (합계, 평균, 최대, 최소, ...) | |
| COL_OPT | 선택 열 최적화 엔트리 | |
| NO_INIT_CH | 문자 필드 길이 1 | |
| TXT_FIELD | ALV 제어: 내부 테이블 필드의 필드 이름 | |
| ROUNDFIELD | ALV 제어: ROUND 사양을 가진 필드이름 | |
| DECMLFIELD | ALV 제어: DECIMALS 사양을 가진 필드이름 | |
| DD_OUTLEN | ALV 제어: 문자의 출력길이 | |
| COLDDICTXT | ALV 제어: DDIC 텍스트 참조 결정 | |
| SELDDICTXT | ALV 제어: DDIC 텍스트 참조 결정 | |
| TIPDDICTXT | ALV 제어: DDIC 텍스트 참조 결정 | |
| TECH_COL | ALV 컨트롤: 내부 사용 | |
| TECH_FORM | ALV 컨트롤: 내부 사용 | |
| TECH_COMP | ALV 컨트롤: 내부 사용 | |
| HIER_CPOS | ALV 제어: 계층구조적 열위치 | |
| H_COL_KEY | 트리 컨트롤: 열 이름/항목 이름 | |
| H_SELECT | 트리제어의 열을 선택할 수 있는지의 여부 지시 | |
| DD_ROLL | Data element (의미도메인) | |
| DRAGDROPID | ALV 제어: 끌어옮기기 오브젝트에 대한 끌어옮기기 조정 | |
| MAC | 문자 필드 길이 1 | |
| INDX_FIELD | 정수 | |
| INDX_CFIEL | 정수 | |
| INDX_QFIEL | 정수 | |
| INDX_IFIEL | 정수 | |
| INDX_ROUND | 정수 | |
| INDX_DECML | 정수 | |
| GET_STYLE | 문자 필드 길이 1 | |
| MARK | 문자 필드 길이 1 |
DATA : TAB_OTF_FINAL TYPE ITCOO OCCURS 0 WITH HEADER LINE,
CONTORL_PARAMETERS TYPE SSFCTRLOP,
OUTPUT_OPTIONS TYPE SSFCOMPOP,
TAB_OTF_DATA TYPE SSFCRESCL,
LV_CNT TYPE I,
FILE_SIZE TYPE I,
ARC_IDX LIKE TOA_DARA,
FILE_NAME TYPE STRING VALUE 'TEST',
DOCTAB LIKE DOCS OCCURS 1 WITH HEADER LINE,
PDF_TAB LIKE TLINE OCCURS 0 WITH HEADER LINE.
DESCRIBE TABLE ITAB LINES LV_CNT.
LOOP AT ITAB.
CONTORL_PARAMETERS-NO_DIALOG = 'X'. "인쇄출력팝업 표시여부
CONTORL_PARAMETERS-PREVIEW = SPACE."미리보기 기능
CONTORL_PARAMETERS-GETOTF = 'X'. "PDF출력시 X
CONTORL_PARAMETERS-LANGU = 'D'. "Language key
* "복수 페이지 출력시 조정 옵션
* "첫페이지 NO_OPEN = ' ' / NO_CLOSE = 'X'
* "중간페이지 NO_OPEN = 'X' / NO_CLOSE = 'X'
* "마지막페이지 NO_OPEN = 'X' / NO_CLOSE = ' '
* "한페이지일 경우 NO_OPEN = ' ' / NO_CLOSE = ' '
CONTORL_PARAMETERS-NO_OPEN = ' '.
CONTORL_PARAMETERS-NO_CLOSE = ' '.
OUTPUT_OPTIONS-TDNOPREV = 'X'. "미리보기버튼 비활성
OUTPUT_OPTIONS-TDIMMED = 'X'. "Print Immediately (Print Parameters)
OUTPUT_OPTIONS-TDDEST = 'LOCL'. "Spool: Output device
...
IF LV_CNT NE 1.
CONTORL_PARAMETERS-NO_OPEN = 'X'.
CONTORL_PARAMETERS-NO_CLOSE = 'X'.
AT FIRST.
CONTORL_PARAMETERS-NO_OPEN = SPACE.
CONTORL_PARAMETERS-NO_CLOSE = 'X'.
ENDAT.
AT LAST.
CONTORL_PARAMETERS-NO_OPEN = 'X'.
CONTORL_PARAMETERS-NO_CLOSE = SPACE.
ENDAT.
ENDIF.
CALL FUNCTION FUNCTION
EXPORTING
CONTROL_PARAMETERS = CONTORL_PARAMETERS
OUTPUT_OPTIONS = OUTPUT_OPTIONS
GS_HEAD = LS_HEAD
IMPORTING
JOB_OUTPUT_INFO = TAB_OTF_DATA
TABLES
ITEM = LT_ITEM
TEXT = LT_TEXT
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4.
...
ENDLOOP.
* "PDF 전환시 TAB_OTF_DATA를 받아 포맷 변경한다.
CLEAR: TAB_OTF_FINAL[], FILE_SIZE, PDF_TAB[].
TAB_OTF_FINAL[] = TAB_OTF_DATA-OTFDATA[].
CALL FUNCTION 'CONVERT_OTF_2_PDF'
EXPORTING
* USE_OTF_MC_CMD = 'X'
ARCHIVE_INDEX = ARC_IDX
IMPORTING
BIN_FILESIZE = FILE_SIZE
TABLES
OTF = TAB_OTF_DATA-OTFDATA
DOCTAB_ARCHIVE = DOCTAB
LINES = PDF_TAB
EXCEPTIONS
ERR_CONV_NOT_POSSIBLE = 1
ERR_OTF_MC_NOENDMARKER = 2
OTHERS = 3.
DATA: I TYPE I,
N TYPE I,
L_TXT(1000),
LV_LINES LIKE SY-TABIX,
S_MAIL_H LIKE SODOCCHGI1,
T_OBJBIN LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE,
T_OBJCON LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE,
T_OBJPACK LIKE SOPCKLSTI1 OCCURS 2 WITH HEADER LINE,
T_RECEIVER LIKE SOMLRECI1 OCCURS 0 WITH HEADER LINE,
V_DOC_SIZE LIKE SY-TABIX..
* Convert pdf(134) to binary(255) file.
LOOP AT PDF_TAB.
L_TXT+I = PDF_TAB.
ADD 134 TO I.
IF I >= 255.
GT_OBJBIN = L_TXT.
APPEND GT_OBJBIN.
SUBTRACT 255 FROM I.
L_TXT = L_TXT+255.
ENDIF.
ENDLOOP.
IF I <> 0.
GT_OBJBIN = L_TXT.
APPEND GT_OBJBIN.
ENDIF.
* "PDF 파일 출력시
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE = FILE_SIZE
FILENAME = FILE_NAME
FILETYPE = 'BIN'
TABLES
DATA_TAB = PDF_TAB
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22.
* "PDF 파일을 첨부한 이메일로 보내기
DATA : T_RECEIVER LIKE SOMLRECI1 OCCURS 0 WITH HEADER LINE,
T_OBJCON LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.
* "수신자 정보(발신자는 SAP ID 설정값임)
T_RECEIVER-RECEIVER = 'abc@xxx.com'.
T_RECEIVER-REC_TYPE = 'U'.
T_RECEIVER-EXPRESS = 'X'.
APPEND T_RECEIVER. CLEAR T_RECEIVER.
* "메일 본문 내용
T_OBJCON-LINE = '메일 본문입니다.'.
APPEND T_OBJCON. CLEAR T_OBJCON.
APPEND T_OBJCON.
GT_OBJCON-LINE = '메일 본문 2라인입니다.'.
APPEND T_OBJCON. CLEAR T_OBJCON.
DESCRIBE TABLE T_OBJCON LINES LV_LINES.
*& 메일 HEADER
CLEAR : L_TXT.
L_txt = '제목'.
S_MAIL_H-OBJ_NAME = 'MESSAGE'.
S_MAIL_H-OBJ_DESCR = L_TXT.
S_MAIL_H-OBJ_LANGU = 'E'.
S_MAIL_H-SENSITIVTY = 'O'.
"'O' : Standard 'P': Confidential
S_MAIL_H-OBJ_PRIO = '1'.
S_MAIL_H-NO_CHANGE = 'X'.
S_MAIL_H-PRIORITY = '1'.
* gs_head-doc_size = gv_lines * 255.
T_OBJPACK-HEAD_START = 1.
T_OBJPACK-HEAD_NUM = 0.
T_OBJPACK-BODY_START = 1.
T_OBJPACK-BODY_NUM = LV_LINES.
T_OBJPACK-DOC_TYPE = 'RAW'.
APPEND T_OBJPACK. CLEAR T_OBJPACK.
*& 메일 첨부파일에 관련된 사항을 내용을 추가
DESCRIBE TABLE GT_OBJBIN LINES LV_LINES.
T_OBJPACK-TRANSF_BIN = 'X'.
T_OBJPACK-HEAD_START = 1.
T_OBJPACK-HEAD_NUM = 1.
T_OBJPACK-BODY_START = 1.
T_OBJPACK-BODY_NUM = LV_LINES.
T_OBJPACK-DOC_TYPE = 'PDF'.
T_OBJPACK-OBJ_NAME = 'Attachment'.
* GT_OBJPACK-OBJ_DESCR = 'ATT_SMART'.
T_OBJPACK-OBJ_DESCR = FILE_NAME . "첨부파일 제목
READ TABLE T_OBJBIN INDEX LV_LINES.
V_DOC_SIZE = LV_LINES * 255.
* "SIZE = ( LINES - 1 ) * 255 + STRLEN( T_OBJBIN ).
T_OBJPACK-DOC_SIZE = V_DOC_SIZE.
APPEND T_OBJPACK. CLEAR T_OBJPACK.
* "메일을 전송
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
DOCUMENT_DATA = S_MAIL_H
PUT_IN_OUTBOX = 'X'
COMMIT_WORK = 'X'
TABLES
PACKING_LIST = T_OBJPACK
CONTENTS_BIN = T_OBJBIN
CONTENTS_TXT = T_OBJCON
RECEIVERS = T_RECEIVER
EXCEPTIONS
TOO_MANY_RECEIVERS = 1
DOCUMENT_NOT_SENT = 2
DOCUMENT_TYPE_NOT_EXIST = 3
OPERATION_NO_AUTHORIZATION = 4
PARAMETER_ERROR = 5
X_ERROR = 6
ENQUEUE_ERROR = 7
OTHERS = 8.
SUBMIT RSCONN01 WITH MODE = 'INT'
AND RETURN.