Uniface putlistitems: 리스트 데이터 조작의 강력한 도구 완벽 가이드

🤖 AI 추천

Uniface 개발자, 특히 ProcScript를 사용하여 데이터를 효율적으로 조작하고 관리해야 하는 개발자들에게 이 콘텐츠는 매우 유용합니다. 인덱스 리스트와 연관 리스트를 다루는 방법을 배우고 싶은 미들 레벨 이상의 Uniface 개발자에게 특히 추천합니다.

🔖 주요 키워드

💻 Development

Uniface putlistitems 명령어 심층 분석

이 가이드는 Uniface의 강력한 데이터 조작 명령어인 putlistitems에 대해 공식 문서 10.4를 기반으로 상세하게 설명합니다. putlistitems는 필드, 변수, 엔티티의 데이터를 리스트로 복사하는 데 사용되며, 인덱스 리스트(값 시퀀스)와 연관 리스트(ID=값 쌍) 모두를 지원합니다.

주요 기능 및 구문:

  • 기본 구문: putlistitems IndexedList, Source
  • 연관 리스트 구문: putlistitems/id AssociativeList {, Source}
  • 소스 타입 지정: /field, /component, /global qualifiers를 사용하여 필드, 컴포넌트 변수, 전역 변수 중 어떤 소스를 사용할지 명확히 지정할 수 있습니다.
  • 엔티티 필드 복사: putlistitems/occ AssociativeList, Entity 구문을 통해 지정된 엔티티의 모든 필드를 연관 리스트로 자동으로 복사할 수 있습니다. /modonly qualifier를 사용하면 수정된 필드만 효율적으로 처리할 수 있습니다.

활용 예시:

  • 인덱스 리스트 생성: CALENDAR 엔티티에서 요일 정보를 추출하여 vItem 리스트에 세미콜론으로 구분된 문자열로 저장합니다. (Monday;Tuesday;Wednesday)
  • ID=값 쌍 리스트 생성: ENT 엔티티의 FLD1, FLD2 필드를 사용하여 day1=Mon;day2=Tue;day3=Wed 형식의 연관 리스트를 vList에 생성합니다.
  • 변수 포함 연관 리스트: 전역 변수 ($$GLOB_TOT), 컴포넌트 변수 ($CPT_TOT$), 필드(NAME)를 조합하여 NAME=Frodo;$CPT_TOT$=14;$$GLOB_TOT=329와 같은 리스트를 만듭니다.
  • 엔티티 모든 필드 복사: WEEK 엔티티의 모든 필드를 vList에 복사합니다.
  • 엔티티 발생(Occurrence) 복제: 첫 번째 발생의 필드 데이터를 복사하여 새로운 발생을 생성하고, 해당 데이터를 다시 가져오는 과정을 보여줍니다.
  • 다양한 소스 타입 혼합: 필드와 변수를 혼합하여 연관 리스트를 효과적으로 구성하는 방법을 설명합니다.

주의사항 및 팁:

  • 컴파일 타임에 필드 및 변수 존재 유효성 검사가 불가능하므로 런타임 유효성 검사가 필요합니다.
  • 참조된 모든 필드가 엔티티의 필드 리스트에 포함되어야 합니다.
  • 특정 컴포넌트(Service, Report)에서는 putlistitems/id/global 사용에 제약이 있습니다.
  • 여러 엔티티 발생을 처리할 때는 항상 첫 번째 발생을 현재 발생으로 설정해야 합니다.
  • $status 변수를 통해 작업 성공 여부를 확인할 수 있습니다 (0: 데이터 복사 없음, >0: 복사된 항목 수).
  • 명확한 의도를 위해 적절한 qualifier(/field, /component, /global)를 사용하고, 리스트 ID 내 변수 이름에는 달러 기호($)를 포함하는 것이 좋습니다.

putlistitems 명령어는 Uniface에서 데이터를 효율적으로 조작하는 데 필수적이며, ProcScript 개발 생산성을 크게 향상시킬 수 있습니다.

📚 관련 자료