인터페이스 정의서 생성을 위해서 필드와 테이블을 확인하는데
테이블만 26개에 수신 및 발신을 따로 정의해야 했기 때문에
결과적으로는 37개의 정의서 페이지를 작성해야 했다.
초반에 공통적으로 들어가야 하는 부분들에 대한 정리를 진행하던 중
Order 관련 오류가 발생했다고 해서 해당 org의 데이터들을 확인하고
인터페이스 로그에 찍힌 오류를 확인해보니 품목 중 하나의 삭제 시도 단계에서 막혔는데
해당 품목은 사실 다른 곳에 엮인 상태로 관리되고 있기 때문에 삭제하면 안되는 것이었다.
SQL로 해당 데이터를 찾아서 확인하니 더 명백하게 알 수 있었는데
기존의 수정사항이 있는 경우 LineNum이 변경되어 있고 기존의 값은 null로 처리되어 있는데
변경을 수치 변경이 아닌 삭제 후 추가로 진행하기 때문에
뜬금없는 삭제 시도를 진행하고 연관된 개체가 잠겨있기 때문에 삭제가 안된 것이었다.
원인은 파악했지만 해당 내용은 수정하면 안되는 부분이기 때문에
추후 해당 연관 품목들을 먼저 확인할 수 있게 관계 설정을 해주는 것으로 정리했다.
기본적으로 정의서 내부에서는 통신유형, 연계 방식, 주기, Interfacd Id의 헤더와 Source, Target의 구분을 진행하고 Source, Target 각각 헤더 부분에 System Name, Object(SFDC쪽만), Protocol 등을 정리했고 하단에는 각각의 num, field, type, size, Description 등의 컬럼에 맞춰서 필드를 추가해야 했다.
Request, Response 부분을 각각 전부 위의 컬럼대로 정리해준 다음 하단에 EndPoint, Request Body 예시, Response Body 예시를 하나씩 담아주는 방식으로 마무리했는데 하나를 완료하면서 공통적으로 들어가는 방식들을 먼저 마무리하고 그 이후 전체 파일을 복사해서 먼저 37개의 탭을 생성하고 각각 맞는 Interfacd ID, EndPoint, Object Name, Response를 채워줬다.
하나의 정의서를 채우는 것에도 여러가지 자료가 필요했는데 기본적으로 Request Sample을 위해서 1회 발송 후 결과를 Response Sample에 넣고 각각 사용하는 필드명이 다르기 때문에 SQL에서 주고 받는 필드명을 먼저 공통 사용하고 SFDC에서 실제로 들어갈 필드의 명칭(CustomObjectName__c, StandardObjectName)등을 넣어야 하는데 해당 값을 찾기 위해 실제로 발송하는 클래스를 찾아서 코드들을 전수조사해야 했고 실제 저장된 값의 타입 및 길이 제한 등을 확인하기 위해 SQL 테이블의 컬럼을 확인해서 Type, Size를 기입했다.
apex에서 쉽게 해당 테이블을 찾을 수 있었는데
간단하게 class ObjcetName으로 검색 형태로 전체 검색을 사용하면
해당 클래스 내부에서 재정의 후 내보내는 모습을 볼 수 있었다.
인터페이스 정의서를 처음 만드는건 2시간 넘게 걸렸지만
구조를 파악하고 점점 빨라졌는데
안타깝게도 result 부분은 정의해두지 않았기 때문에
복사되지 않아서 결국 모두 새로 추가해줘야 했다.
8시 20분쯤 마무리를 했는데
내일 오전 회의가 있기 때문에 회의 전에 마무리할 수 있으면 좋겠지만 안될 것 같아서 아쉽다.
(1).백준 2750번 수 정렬하기는 예전에 황당하게 틀렸던 문제였는데
이번에도 자꾸 오답이 나와서 이유를 생각해보다가
백준의 질 떨어지는 값 입력 문제가 생각났고
.trim()을 사용해 공백이 포함되는 것을 방지하니 정답 처리가 되는 것을 확인할 수 있었다.
문제 자체는 sort 메서드를 사용해 쉽게 해결할 수 있었지만
이런 문제 때문에 초반에 왜 안되는지 답답해했던 기억이 떠올랐다.
JS는 정렬 메소드까지 제공되고 있는데 정답률이 26%로 반토막난 가장 큰 이유가 아닐까?
const input = `5
5
2
3
4
1
11`.split('\n').map(Number)
input.shift()
input.sort((a,b) => a-b)
console.log(input.join('\n'))
'회고' 카테고리의 다른 글
[개발일지] - 190(주말) (0) | 2024.01.06 |
---|---|
[개발일지] - 189 (0) | 2024.01.05 |
[개발일지] - 187 (0) | 2024.01.03 |
[개발일지] - 186 (0) | 2024.01.02 |
[개발일지] - 185(신정) (0) | 2024.01.01 |