사용자 지정 동작을 만들어 기록 목록에서 객체 배열을 작성합니다.

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기6분
  • 사용자 기록 목록에서 객체 배열을 작성합니다. 스크립트 단계를 사용하여 기록 목록을 반복하는 방법에 대해 알아봅니다.

    시작하기 전에

    필요한 역할: admin of flow_designer

    이 태스크 정보

    이 예제를 사용하여 이러한 작업 및 단계의 데모를 볼 수 있습니다.
    • 부서 기록에 대한 작업 입력을 생성합니다.
    • 부서 작업 입력에 대해 최대 3개의 사용자 기록을 조회합니다.
    • 사용자 기록 목록을 처리하도록 스크립트 단계를 구성합니다.
    • 사용자 기록 목록이 포함된 스크립트 입력 변수를 만듭니다.
    • 빈 연락처 배열을 만드는 스크립트를 작성합니다.
    • 사용자 기록 목록을 반복하는 스크립트를 작성합니다.
    • 연락처 개체를 만들고 사용자 기록 필드 값을 연락처 개체에 매핑하는 스크립트를 작성합니다.
    • contacts 배열을 현재 contact 개체로 채우는 스크립트를 작성합니다.
    • 접촉 창구 배열 및 하위 접촉 창구 객체에 대한 스크립트 출력 변수를 만듭니다.
    • 연락처 개체를 템플릿으로 저장합니다.
    • 생성된 객체의 contacts 배열을 데이터 알약으로 출력합니다.
    • 샘플 부서에서 작업을 테스트합니다.

    프로시저

    1. 옵션: 작업을 저장할 애플리케이션을 만듭니다.
      애플리케이션을 계획, 생성 및 배포하는 데 사용할 앱 엔진 스튜디오 수 있습니다. 사용자 지정 응용 프로그램 빌드에 대한 자세한 내용은 을 참조하십시오 Building apps in App Engine Studio.
      예를 들어, 내 애플리케이션이라는 애플리케이션을 만듭니다.
    2. 다음으로 이동 모두 > 프로세스 자동화 > 워크플로우 스튜디오.
    3. 홈페이지에서 작업을 선택합니다.
    4. 선택 신규 > 작업
      시스템에 작업 속성 대화 상자가 표시됩니다.
    5. 이 샘플 값을 입력합니다.
      필드
      이름 연락처 객체 배열 작성
      애플리케이션 전역
      다음에서 접근 가능 모든 애플리케이션 범위
      주:
      사용자 지정 작업을 저장하고 배포할 애플리케이션을 생성한 경우 전역 대신 해당 애플리케이션을 사용합니다.
    6. 빌드 작업을 선택합니다.
      시스템에 인터페이스가 워크플로우 스튜디오 표시됩니다.
    7. Action Outline(작업 개요)에서 입력 > 입력 작성
      시스템에 새 작업 입력이 표시됩니다.
    8. 이 값을 사용하여 작업 입력을 구성합니다.

      부서 기록을 저장하는 작업 입력을 생성합니다.

      필드
      레이블 부서
      유형 참조.부서 [Reference.cmn_department]
      필수
    9. 작업 개요에서 새 단계 추가를 선택합니다.
      시스템에 사용 가능한 단계 목록이 표시됩니다.
    10. 기록 조회 선택
    11. 이 값을 사용하여 단계를 구성합니다.

      부서 입력 변수를 사용하도록 기록 조회 단계 조건을 구성합니다.

      필드
      테이블 사용자 [sys_user]
      조건 [부서] [이다] [action->부서]
      주:
      입력 변수에서 부서 데이터 정제를 선택합니다.
      정렬 기준 이름
      정렬 유형 a-z
      최대 결과 3
      주:
      이 예제에서는 데모를 위해 최대 결과 설정을 3개의 레코드로 제한합니다.
    12. 작업 개요에서 새 단계 추가를 선택합니다.
      시스템에 사용 가능한 단계 목록이 표시됩니다.
    13. 스크립트를 선택합니다.
    14. 입력 변수(Input Variables) 섹션에서 변수 생성(Create Variable)을 선택합니다.
    15. 이 값을 사용하여 입력 변수를 구성합니다.

      기록 조회 단계에서 사용자 기록 데이터 정제를 사용하도록 스크립트 단계 입력 변수를 구성합니다.

      필드
      이름 사용자 기록
      [step->기록 조회 step->사용자 기록]
      주:
      기록 조회 단계에서 사용자 기록 데이터 정제를 선택합니다.
      주:
      데이터 패널 또는 데이터 알약 선택기 버튼에서 사용자 기록 데이터 정제를 선택할 수 있습니다.
    16. 스크립트에 다음 텍스트를 입력합니다.
      (function execute(inputs, outputs) {
        //Create an empty array
        var contactsArray = [];
        var i = 0;
        //Iterate through the list of User records
        while(inputs.userRecords.next()) {
          //Create an empty object for each iteration
          var contactObject = {};
          //Query User records to assign object values
          contactObject.first_name = inputs.userRecords.getValue('first_name');
          contactObject.last_name = inputs.userRecords.getValue('last_name');
          contactObject.email_address = inputs.userRecords.getValue('email');
          //Add current object to array
          contactsArray[i] = contactObject;
          i += 1;
        }
        outputs.contacts = contactsArray;
      })(inputs, outputs);
    17. Output Variables(출력 변수)에서 Create Variable(변수 생성)을 선택합니다.
    18. 이 값을 사용하여 출력 변수를 구성합니다.

      연락처라는 객체 배열을 만듭니다. 배열 내에서 contact라는 개체를 만듭니다. 연락처 개체 내에서 이름, 성 및 이메일 주소에 대한 세 개의 문자열 변수를 만듭니다.

      레이블 이름 유형 필수
      연락처 연락처 Array.Object
    19. contacts Array.Object를 확장하고 자식 개체의 이름을 contact로 바꿉니다.
    20. 연락처 개체의 행에서 하위 항목 추가 아이콘 을 선택합니다.
    21. 이러한 값을 사용하여 하위 항목을 구성합니다.
      레이블 이름 유형 필수
      이름 first_name 문자열
    22. 연락처 개체의 행에서 하위 항목 추가 아이콘 을 선택합니다.
    23. 이러한 값을 사용하여 하위 항목을 구성합니다.
      레이블 이름 유형 필수
      last_name 문자열
    24. 연락처 개체의 행에서 하위 항목 추가 아이콘 을 선택합니다.
    25. 이러한 값을 사용하여 하위 항목을 구성합니다.
      레이블 이름 유형 필수
      이메일 주소 email_address 문자열
    26. 연락처 개체에 대한 행에서 Toggle Advanced Inputs(고급 입력 설정/해제)를 선택합니다.
    27. Advanced Options(고급 옵션)에서 Save As Template(템플릿으로 저장)을 선택합니다.
      템플릿으로 저장 대화상자가 표시됩니다.
    28. 이름 입력contact를 입력합니다.
      객체 템플릿을 contact라는 이름으로 저장합니다.
    29. 저장을 클릭합니다.
    30. Action Outline(작업 개요)에서 출력 > 출력 작성.
    31. 이 값을 사용하여 작업 출력을 구성합니다.

      contacts라는 작업 출력을 만들어 객체 배열을 저장합니다.

      레이블 이름 유형 필수
      연락처 연락처 Array.Object
    32. contacts Array.Object를 확장합니다.
    33. 연락처 개체에 대한 행에서 Toggle Advanced Inputs(고급 입력 설정/해제)를 선택합니다.
    34. Advanced Options(고급 옵션)에서 구조 > 템플릿에서 시작.
      시스템에 템플릿이 표시됩니다.
    35. 템플릿의 경우 이전에 저장한 템플릿을 선택합니다.
      예를 들어 전역: 연락처를 선택합니다.
    36. 편집 모드 종료를 선택합니다.
      시스템은 사용자가 생성한 출력 필드를 표시합니다.
    37. 연락처의 경우 [step->스크립트 단계->연락처]를 선택합니다.

      스크립트 단계의 연락처 데이터 정제를 사용하도록 작업 출력 변수를 구성합니다.

      주:
      스크립트 단계 연락처 데이터 알약은 데이터 패널 또는 데이터 알약 선택기 버튼에서 선택할 수 있습니다.
    38. 저장을 클릭합니다.
    39. 테스트를 선택합니다.
      테스트 작업 대화상자가 표시됩니다.
    40. 다음 테스트 값을 입력합니다.

      개발 부서를 선택하여 작업을 테스트합니다.

      입력
      부서 개발
    41. 테스트 실행을 선택합니다.
      시스템은 제공된 테스트 값으로 작업을 실행합니다.
    42. 테스트 실행이 완료됨을 선택합니다 . 작업 실행 상세 정보를 봅니다.
      시스템에 작업 실행 세부 정보가 표시됩니다.
    43. 작업 출력 데이터에 대한 런타임 값을 검토합니다.

      사용자 지정 작업의 테스트 결과에 대한 실행 상세 정보 페이지입니다.

      실행 세부 정보는 출력 데이터를 JSON 형식의 문자열로 표시하지만 실제 출력 데이터 형식은 객체 배열입니다. 출력의 문자열 버전이 필요한 경우 JSON 클래스를 사용하여 객체를 문자열로 변환할 수 있습니다. JSON 객체를 문자열로 변환하는 방법에 대한 자세한 내용은 을 참조하십시오 Scoped JSON - stringify(Object jsonObject).
      이 예제의 경우 contacts 개체에는 개발 부서의 사용자 세 명에 대한 이름, 성 및 전자 메일 정보가 포함된 연락처 개체 배열이 포함되어 있습니다.
      {
          "contacts": 
              "contact": [
                  {
                      "email_address": "allyson.gillispie@example.com",
                      "first_name": "Allyson",
                      "last_name": "Gillispie"
                  },
                  {
                      "email_address": "alva.pennigton@example.com",
                      "first_name": "Alva",
                      "last_name": "Pennigton"
                  },
                  {
                      "email_address": "andrew.och@example.com",
                      "first_name": "Andrew",
                      "last_name": "Och"
                  }
              ]
          }
      }
      

    결과

    특정 부서의 사용자를 조회하고 해당 사용자를 연락처 객체의 배열로 변환하는 사용자 지정 작업이 있습니다.

    다음에 수행할 작업

    이 작업을 사용자 지정하여 고유한 논리를 사용하십시오.